1. Field of the Invention
The present invention generally relates to the congestion control. More specifically, the present invention provides techniques and mechanisms for improving the transmission control protocol (TCP), particularly for transmitting data such as storage application data.
2. Description of Related Art
TCP provides reliability, network adaptability, congestion control and flow control. Reliability is generally provided by using mechanisms such as sequence numbers to enable retransmission. Network adaptability and flow control are generally provided by using mechanisms such as windows. A window limits the amount of data that can be transmitted onto a network.
Conventional TCP congestion control mechanisms work well for many types of data transmissions. However, conventional TCP congestion control mechanisms often do not work adequately for delay sensitive or bursty data, such as data associated with an Internet Protocol (IP) Storage Application, especially when the bandwidth, delay, and optimal window sizes of a connection are large. In one example, TCP does not work adequately for transferring data associated with Storage Area Networks (SANs). Some improvements to TCP such as FastTCP, described in “FastTCP: Motivation, Architecture, Algorithms, Performance” by Chen Jin, David Wei, and Steven Low, IEEE Infocom, March 2004, Hong Kong, address some concerns associated with TCP but still have a number of limitations.
Consequently, it is desirable to provide techniques for improving TCP to allow more effective and efficient transmission of data such as delay sensitive and bursty data, in order to greatly reduce the probability of packet drops while minimizing delay.